package com.atwu.wl2022.util;


import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.sql.SQLException;
import java.util.Collections;

/**
 * <p>
 * 快速生成
 * </p>
 *
 * @author wule
 * @since 2022-06-12
 */
public class FastAutoGeneratorTest {

	/**
	 * 执行 run
	 */
	public static void main(String[] args) throws SQLException {
		FastAutoGenerator.create("jdbc:mysql://localhost:3306/wl2022?serverTimezone=UTC", "root", "123456")
				.globalConfig(builder -> {
					builder.author("wule") // 设置作者
							.enableSwagger() // 开启 swagger 模式
							.outputDir("D:\\IdeaProjects\\wl2022\\src\\main\\java"); // 指定输出目录
				})
				.packageConfig(builder -> {
					builder.parent("com.atwu.wl2022") // 设置父包名
							.moduleName("") // 设置父包模块名
							.pathInfo(Collections.singletonMap(OutputFile.xml, "D:\\IdeaProjects\\wl2022\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
				})
				.strategyConfig(builder -> {
					builder.addInclude("article") // 设置需要生成的表名
							.addTablePrefix("t_", "c_"); // 设置过滤表前缀
				})
				.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板，默认的是Velocity引擎模板
				.execute();
	}
}